import { defineStore } from 'pinia'
export const useSessionStore = defineStore({
  // id 是必填的，并且所有 Store 中唯一。因为Pinia会将它在devtools显示
  id: 'SessionStore',
  state: () => ({
    TOKEN: '',
    LOGON: {
      /*'ORG.ID':'1',//组织ID
            'ORG.CODE':'H-01',//组织编码
            'ORG.NAME':'XXX医院',//组织名称
             
            'DEP.ID':'1',//部门、科室ID
            'DEP.CODE':'DEP-1',//部门编码
            'DEP.NAME':'信息科',//部门名称

            'EMPL.ID':'1',//人员ID
            'EMPL.CODE':'U-1',//人员编码
            'EMPL.NAME':'张三',//人员名称

            'POSITION.ID':'1',//职位ID
            'POSITION.CODE':'P-1',//职位编码
            'POSITION.NAME':'科主任',//职位名称

            'STATION.ID':'1',//岗位ID
            'STATION.CODE':'S-1',//岗位编码
            'STATION.NAME':'信息科主任',//岗位名称
           
            'ROLE.ID':'1',//角色ID
            'ROLE.CODE':'R-1',//角色编码
            'ROLE.NAME':'医院信息科',//角色名称
            'ROLE.WF':'1',//角色工作流
            'ROLE.HOME':'A1_1',//角色首页

            'USER.ID':'1',//用户ID
            'USER.CODE':'U-1',//用户编码
            'USER.NAME':'张三',//用户名称
            */
    },
    LOCK: false,
  }),
  /**
   * 用来封装计算属性 有缓存功能  类似于computed
   */
  getters: {},
  /**
   * 编辑业务逻辑  类似于methods
   */
  actions: {
    SET_TOKEN(TOKEN: any) {
      this.TOKEN = TOKEN
    },
    GET_TOKEN: function (): String {
      return this.TOKEN
    },
    SET_LOGON(session: any) {
      this.LOGON = session
    },
    GET_LOGON: function (): Object {
      return this.LOGON
    },
    SET_LOCK(lock: any) {
      this.LOCK = lock
    },
    GET_LOCK: function (): Boolean {
      return this.LOCK
    },
  },
})
